package com.devframe.sysbase.model.base;

import java.io.Serializable;

import com.devframe.sysbase.model.TSysFocus;


/**
 * This is an object that contains data related to the T_SYS_FOCUS table.
 * Do not modify this class because it will be overwritten if the configuration file
 * related to this class is modified.
 *
 * @hibernate.class
 *  table="T_SYS_FOCUS"
 */

public abstract class BaseTSysFocus  implements Serializable {

	public static String REF = "TSysFocus";
	public static String PROP_ORDER_NO = "orderNo";
	public static String PROP_USER_ID = "userId";
	public static String PROP_OBJECT_ID = "objectId";
	public static String PROP_FOCUS_TYPE = "focusType";
	public static String PROP_FOCUS_ID = "focusId";


	// constructors
	public BaseTSysFocus () {
		initialize();
	}

	/**
	 * Constructor for primary key
	 */
	public BaseTSysFocus (java.lang.String focusId) {
		this.setFocusId(focusId);
		initialize();
	}

	protected void initialize () {}



	private int hashCode = Integer.MIN_VALUE;

	// primary key
	private java.lang.String focusId;

	// fields
	private java.lang.String objectId;
	private java.lang.String focusType;
	private java.lang.Long orderNo;
	private java.lang.String userId;



	/**
	 * Return the unique identifier of this class
     * @hibernate.id
     *  generator-class="uuid.hex"
     *  column="FOCUS_ID"
     */
	public java.lang.String getFocusId () {
		return focusId;
	}

	/**
	 * Set the unique identifier of this class
	 * @param focusId the new ID
	 */
	public void setFocusId (java.lang.String focusId) {
		this.focusId = focusId;
		this.hashCode = Integer.MIN_VALUE;
	}




	/**
	 * Return the value associated with the column: OBJECT_ID
	 */
	public java.lang.String getObjectId () {
		return objectId;
	}

	/**
	 * Set the value related to the column: OBJECT_ID
	 * @param objectId the OBJECT_ID value
	 */
	public void setObjectId (java.lang.String objectId) {
		this.objectId = objectId;
	}



	/**
	 * Return the value associated with the column: FOCUS_TYPE
	 */
	public java.lang.String getFocusType () {
		return focusType;
	}

	/**
	 * Set the value related to the column: FOCUS_TYPE
	 * @param focusType the FOCUS_TYPE value
	 */
	public void setFocusType (java.lang.String focusType) {
		this.focusType = focusType;
	}



	



	/**
	 * @return the orderNo
	 */
	public java.lang.Long getOrderNo() {
		return orderNo;
	}

	/**
	 * @param orderNo the orderNo to set
	 */
	public void setOrderNo(java.lang.Long orderNo) {
		this.orderNo = orderNo;
	}

	/**
	 * Return the value associated with the column: USER_ID
	 */
	public java.lang.String getUserId () {
		return userId;
	}

	/**
	 * Set the value related to the column: USER_ID
	 * @param userId the USER_ID value
	 */
	public void setUserId (java.lang.String userId) {
		this.userId = userId;
	}




	public boolean equals (Object obj) {
		if (null == obj) return false;
		if (!(obj instanceof TSysFocus)) return false;
		else {
			 TSysFocus tSysFocus = (TSysFocus) obj;
			if (null == this.getFocusId() || null == tSysFocus.getFocusId()) return false;
			else return (this.getFocusId().equals(tSysFocus.getFocusId()));
		}
	}

	public int hashCode () {
		if (Integer.MIN_VALUE == this.hashCode) {
			if (null == this.getFocusId()) return super.hashCode();
			else {
				String hashStr = this.getClass().getName() + ":" + this.getFocusId().hashCode();
				this.hashCode = hashStr.hashCode();
			}
		}
		return this.hashCode;
	}


	public String toString () {
		return super.toString();
	}


}